package oracle;

import java.sql.*;

/**
 * 实现：利用Java 链接 Oracle 数据库 CRUD 【查】
 *1.加载驱动 oracle.jdbc.OracleDriver Oracle10
 *        com.mysql.jdbc.Driver    Mysql5.5
 *2.获取链接
 *1获取Oracle基本信息:地址、用户名、密码
 *2获取信息交给工具类DriverManager处理,链接成功返回 Connection
 *3打桩测试,是否链接成功
 * 4执行SQL ---- 创建表 -- oracle中创建 Login表 序号、姓名、手机号
 * Java提到对象 Statement对象,作用:执行SQL语句的类,提供执行SQL方法
 * 5处理结果
 */
public class OracleJDBC {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动 -- Oracle版本
        Class.forName("oracle.jdbc.OracleDriver");
        //2.获取链接【准备功能:地址、用户名、密码】
        //1链接Oracle基本信息
        String username = "system";//Oracle数据库 用户名
        String password = "xdbb0411";//密码:自己的,链接本地
        //thin 瘦客户端 -- 固定前缀
        String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
        //2Oracle基本信息交给工具类
        Connection con = DriverManager.getConnection(url, username, password);
        //3打桩:数据是否链接成功
        System.out.println("测试数据库连接成功:" + con);
//4执行SQL --- Statement对象
        //链接成功Oracle之后【Connection】,产生Statement对象
        Statement st=con. createStatement () ;
        //执行SQL查询操作 --- 查询语句
        String sql="select * from login";

        //Statement对象 查询和增删改 --- 查询方法:executeQuery返回对象
        //ResultSet对象 -- 保存所有查询的记录数据【字段和记录】
        ResultSet rs=st.executeQuery(sql);
        //5处理结果【取所有记录数 1.判断有没有字段 2.取字段
        while(rs.next()) {//next()判断表中是否有字段,有字段返回true,
            //get类型()取出字段中所有记录数
            int id=rs.getInt("id");
            String name=rs.getString("name");
            String phone=rs.getString("phone");
            System.out.println("login表的所有数据："+id+name+phone);

        }
        //6关闭资源
        rs.close() ;
        st.close();
        con.close();
    }

    }

